package com.googlecode.ocl2sqlcompiler.components;

/**
 * @author Renato Miceli
 * 
 */
public class UMLAttribute extends UMLNamedObject {

	private UMLClass type;
	private String visibility;
	private UMLAssociation association;
	private UMLUpperValue upperValue;
	private UMLLowerValue lowerValue;

	public UMLAttribute() {
		this.setVisibility("public");
	}

	/**
	 * @param type
	 *            the type to set
	 */
	public void setType(UMLClass type) {
		this.type = type;
	}

	/**
	 * @return the type
	 */
	public UMLClass getType() {
		return type;
	}

	/**
	 * @param visibility
	 *            the visibility to set
	 */
	public void setVisibility(String visibility) {
		this.visibility = visibility;
	}

	/**
	 * @return the visibility
	 */
	public String getVisibility() {
		return visibility;
	}

	/**
	 * @param association
	 *            the association to set
	 */
	public void setAssociation(UMLAssociation association) {
		this.association = association;
	}

	/**
	 * @return the association
	 */
	public UMLAssociation getAssociation() {
		return association;
	}

	/**
	 * @param upperValue
	 *            the upperValue to set
	 */
	public void setUpperValue(UMLUpperValue upperValue) {
		this.upperValue = upperValue;
	}

	/**
	 * @return the upperValue
	 */
	public UMLUpperValue getUpperValue() {
		return upperValue;
	}

	/**
	 * @param lowerValue
	 *            the lowerValue to set
	 */
	public void setLowerValue(UMLLowerValue lowerValue) {
		this.lowerValue = lowerValue;
	}

	/**
	 * @return the lowerValue
	 */
	public UMLLowerValue getLowerValue() {
		return lowerValue;
	}

}
